Soru & Cevap

UIScrollview içine UITextview

25.08.2014 - 12:32

Merhabalar,

Storyboard'ımı kaplayan UIScrollView var ve bunun en üstünde 320x170 boyutunda haber fotoğrafı olduğunu düşünün. Resmin hemen altına da haber detay yazısını UITextView ile aldım ancak scrollview ile beraber hareket ettiremiyorum, uitextview kendi bağımsız olarak slide şeklinde kayıyor. scroll özelliğini no yaptığımda da ekrana sabitliyor. Scrollview ile beraber aynı anda nasıl hareket ettirebilirim yardımcı olan olursa sevinirim.

15 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-2335-1379625106.jpg
rocxteady
06.09.2014 - 01:45

Sorun şudur: UITextView de içinde UIScrollView barından bir görsel nesnedir. İç içe yaptığın için çakışma oluyor. UITextView'e dokunursan onun scrollünü sağlamış olursun. Benim anlamadığım neden UITextView'i UIScrollView'e koyduğun. Sadece UITextView scroll olan bir şey zaten. Ama illa UITextView de olsun ama scroll olmasın diyorsan. UITextView'i içerdiği text'e göre genişletmen ve scroll özelliğini kapatman gerekecek.

 

[code]

textView.frame = CGRectMake(textView.frame.origin.x, textView.frame.origin.y, textView.contentSize.width, textView.contentSize.height);

textView.scrollEnabled = NO;

[/code]

 

Bu durumda scrollView'in content size'ını da hesaplaman lazım ki yeterli scroll'ü sağlasın.

picture-26538-1408231977.jpg
drweaver
27.08.2014 - 03:38

Teşekkürler ancak başarılı olamadım scroll kaydırdığımda bu kez de textview'ı yarıda kesiyor, kodlarımı paylaşıyorum umarım el birliği ile halledebiliriz :(

Not: TextView verisini json ile http'den alıyorum...

[code]- (void)viewDidLoad
{

CGRect bounds = self.view.bounds;

_scrollView = [[UIScrollView alloc] initWithFrame:bounds];
 _scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

_detay = [[UITextView alloc] initWithFrame:CGRectMake(0, 300, _scrollView.frame.size.width, _scrollView.frame.size.height)];

_detay.text = _haber[@"detail"];

    [_scrollView addSubview:_detay];
    [_scrollView addSubview:_detayResim];
    [self.view addSubview:_scrollView];

}

 

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];

    _scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.scrollView.bounds), CGRectGetMaxY(_detay.frame)+60.0f);
}[/code]

Ekran resminde paylaştığım gibi aslında haber detayının daha devamı var ancak o cümleden itibaren kesiyor.

[code]_detay = [[UITextView alloc] initWithFrame:CGRectMake(0, 300, _scrollView.frame.size.width, _scrollView.frame.size.height)];[/code]

Buradaki yükseklik değerini nasıl textview'ın gerçek yüksekliği kadar set edebilirim acaba?

/sites/default/files/cevaplar/dosya/2020/file-ekran_resmi_2014-08-27_03.37.56.png
Profile picture for user coskungun
coskungun
26.08.2014 - 02:53

Merhaba Abdullah, 

Eklemiş olduğun textview'i scroll'un icerisine dahil etmen lazım.

Örneğin; 

 

[scrollView addsubview:txtView];

Böylelikle scroll ile beraber kayacaktır tabi scrollun ekran üzerinde gösterimi ve contensize ayarlarını da unutmamak gerek. 

İyi çalışmalar.

Profile picture for user kiralp
kiralp
25.08.2014 - 01:37

Merhabalar, 

Umarim bu kod parcasi yardimci olur.

-(void)viewDidLayoutSubviews{    

    scrollView.contentSize = CGSizeMake(320,600);   

}